Modern application servers typically handle many business transactions concurrently. Software applications on the servers are often designed to divide the work for a particular task into one or more sub-tasks. Each transaction, in turn, may be divided into activities spread over multiple threads of execution. These sub-tasks are then executed in parallel by a processor using different threads of activity. This could result in hundreds or even thousands of threads being active within a server process at any given time.
It is challenging to conduct performance analysis and troubleshooting of these actions because the different threads performing sub-tasks lack information that indicates their relationship to one another. Accordingly, there is a need for methods, systems, and computer program products to relate different threads performing related tasks and sub-tasks to each other to provide a comprehensive view of application performance for monitoring and troubleshooting purposes.
The present disclosure will be described with reference to the accompanying drawings. Generally, the drawing in which an element first appears is typically indicated by the leftmost digit(s) in the corresponding reference number.